package com.frank.towerrush.split;

import android.annotation.SuppressLint;

/**
 * 道路类 怪物行进的道路
 * 
 * @author Frank
 *
 */
@SuppressLint("RtlHardcoded")
public class Road {
    /**
     * 向上
     */
    public static final int UP = 3;
    /**
     * 向左
     */
    public static final int LEFT = 1;
    /**
     * 向右
     */
    public static final int RIGHT = 2;
    /**
     * 向下
     */
    public static final int DOWN = 0;

    /**
     * 起点
     */
    private Flag start;
    /**
     * 终点
     */
    private Flag end;
    /**
     * 道路的走向
     */
    private int dir;

    /**
     * 创建一条道路
     * 
     * @param start
     *            起点
     * @param end
     *            终点
     */
    public Road(Flag start, Flag end) {
        this.start = start;
        this.end = end;
        // 设定道路走向
        setDir();
    }

    /**
     * 设置道路的走向
     */
    private void setDir() {
        // 纵向
        if (start.getX() == end.getX()) {
            // 如果起点在终点下边 则方向向上
            dir = (start.getY() > end.getY()) ? UP : DOWN;
            return;
        }
        // 横向
        // 如果起点在终点右边 则方向向左
        dir = (start.getX() > end.getX()) ? LEFT : RIGHT;
    }

    /**
     * 道路起点
     * 
     * @return 起点
     */
    public Flag getStart() {
        return start;
    }

    /**
     * 道路终点
     * 
     * @return 终点
     */
    public Flag getEnd() {
        return end;
    }

    /**
     * 道路走向
     * 
     * @return 方向
     */
    public int getDir() {
        return dir;
    }

}
